/***************************************************************
*
* DS_REF_PARAMLIST.CPP
*
* dsVECTOR_PARAM_LIST wrapper for events and ssl
***************************************************************/
#include <ap/settings/ds_settings.h>
#include "ds_ref_paramlist.h"
#include "ps_sys.h"

DEFINE_TYPE_ID(refParamList)

namespace ds_data {
   static ConvertRegistrator<NULL_TYPE, refParamList> regCvt_NULL_TYPErefParamList(DSDCF_PARAM);
}

dsSTRID idGetData = dsSTRID("Get", FALSE);
dsSTRID idSetData = dsSTRID("Set", FALSE);
dsSTRID idClearData = dsSTRID("Clear", FALSE);
dsSTRID idRemoveData = dsSTRID("Remove", FALSE);

/*************************************************************
* PS2Params()
* 
*************************************************************/
refParamList PS2Params(const psSECTION &ps) 
{
   refParamList result;
   for (int i = 0; i < ps->GetNKey(); ++i) {
      const dsDATA & val = ps->GetKeyValue(i);
      dsSTRID id = ps->GetKeyName(i);
      if (val.IsType<psSECTION>()) {
         result->Add(id, dsDATA(PS2Params(*val.GetPtr<psSECTION>()), 0));
      } else {
         result->Add(id, val);
      }
   }

   return result;
}

//
// End-of-file DS_REF_PARAMLIST.CPP
//
